Release 10.1A: OpenEdge Development:
Progress Dynamics Administration


Mechanisms for static object generation

Progress Dynamics allows you to generate a complete physical representation in the 4GL of an abstract object defined in the Repository. You can then compile and deploy the object in an executable form on the client that does not require Repository access in order to render it. Generating static equivalents of dynamic objects retains your ability to quickly design and prototype an application using the Dynamics Repository and application accelerators. At the same time, it eliminates the performance bottlenecks inherent with rendering these objects from the Repository at run time.

Understanding the two static object generation mechanisms

Dynamics provides two ways to generate static objects from Repository definitions:

Both mechanisms eliminate the need to access the Repository for object rendering information. However, both types of static objects still depend on some access to the Repository in order to participate in the Dynamics security model. Also, while it is possible to modify the 4GL for static objects, you generally modify the generated-4GL equivalents through the original dynamic object using Dynamics tools rather than editing the generated 4GL directly. No changes that you make directly to the 4GL for either type of static object can be automatically reflected back in the Repository.

Choosing Dynamics save as static objects or generated-4GL static objects

The only two dynamic objects you can generate using both mechanisms are the SmartDataObject and SmartDataViewer. So, you only need to choose a mechanism for generating static objects for these two classes of dynamic objects. Because they work differently, your choice of what mechanism to use depends on your working priorities and requirements.

The save as static object mechanism produces an ADM-compatible 4GL procedure that you can edit in the AppBuilder using the properties and section editors, exactly like any static Dynamics object that you create using the AppBuilder. Because it is an ADM object, it can integrate smoothly with any Dynamics container, static or dynamic. This also means that, as a static object, it performs with the same performance characteristics as any static ADM object of its class. The performance of save as static objects might be better than their dynamic object equivalents, but their primary function is to change the development model of an object from dynamic 4GL to static 4GL. For more information on the function of Dynamics save as static objects, see OpenEdge Development: Progress Dynamics Basic Development .

The 4GL Generator mechanism produces a 4GL procedure with no reference to the ADM. You can only edit the 4GL for this type of object in the procedure editor or other text editor.

Note: Progress Software Corporation does not support direct modification of the 4GL generated using the 4GL Generator.

A generated-4GL static object functions and interacts with other objects in a similar manner to its static ADM equivalent, but because it does not rely on the same internal ADM property management and processing models, it is likely to perform much more efficiently than the static ADM equivalent. Because of the way dynamic objects are cached on the client after retrieval from the Repository, you can only run generated-4GL static objects in a generated-4GL container object. In general, the 4GL contained in generated-4GL static objects is optimized, as much as possible, for maximum performance, and Dynamics also manages these objects with performance optimization in mind.

Most of this chapter describes how to use the 4GL Generator mechanism. However, the following section describes the basic features of working with the save as static object mechanism.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095